package com.uco.oop.extend;

// 子类的构造方法，默认会先调用父类的无参构造方法，如果父类中有重载的构造方法，没有无参构造器，必须指定使用使用哪个构造方法
// 子类的构造方法中调用父类的构造方法，该机制会完善父类继承来的数据，必须先构造父类的数据（第一行）
// 可以使用 this()调用兄弟构造器，实现默认值一类的功能
public class Construct {
    public static void main(String[] args) {
        new Zi(1);
    }
}

class Fu {
    public Fu(int a) {
        System.out.println("Construct Fu" + a);
    }
}

class Zi extends Fu {
    public Zi(int a) {
        // super(xxxxx) : super在子类中代指父类，super()/super.xxxx
        super(1);
        System.out.println("Construct zi");
    }
}